package org.springblade.modules.ehb.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.springblade.modules.system.vo.AttachmentVO;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@Data
public class EhbPolicyVO {
	/**
	 * 主键
	 */
	@JsonSerialize(using = ToStringSerializer.class)
	private Long id;
	/**
	 * 发文字号
	 */
	private String athletsNum;
	/**
	 * 政策标题
	 */
	private String policyName;
	/**
	 * 录入部门id
	 */
	@JsonSerialize(using = ToStringSerializer.class)
	private Long deptId;
	/**
	 * 录入部门名称
	 */
	private String deptName;

	/**
	 * 发文日期
	 */
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd"
	)
	private Date athletsDate;

	/**
	 * 政策类型
	 */
	private String policyType;

	/**
	 * 发布日期
	 */
	@DateTimeFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	private Date publishTime;

	/**
	 * 发布状态
	 */
	private Integer status;

	/**
	 * 实施时间
	 */
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd"
	)
	private Date startTime;

	/**
	 * 解释
	 */
	private String reason;
	/**
	 * 正文
	 */
	private String policyTermsContent;
	/**
	 * 发文层级
	 */
	@JsonSerialize(using = ToStringSerializer.class)
	private Long athletsLevelId;
	/**
	 * 发文机关
	 */
	private String athletsOrg;
	/**
	 * 发文机关id
	 */
	private Long athletsOrgId;
	/**
	 * 发文机关名称
	 */
	private String athletsOrgName;
	/**
	 * 适用地区id
	 */
	private Long levelId;
	/**
	 * 使用地区名称
	 */
	private String levelName;
	/**
	 * 申报时效类型
	 */
	private String declareType;
	/**
	 * 结束日期
	 */
	private String endTime;
	/**
	 * 附件
	 */
	private String files;
	/**
	 * 点击数量
	 */
	private Integer viewCount;
	/**
	 * 关联事项
	 */
	private String matMatterList;
	/**
	 * 关联附件
	 */
	public List<AttachmentVO> attachmentList;
}
